home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_03_(08-1984).d64 / 3d tic tac toe (.txt) next >
Commodore BASIC  |  2019-04-13  |  3KB  |  151 lines

  1. 1 PRINT"[159]"
  2. 100 B$="*******************"
  3. 110 A$="                                   "
  4. 120 PRINT"[147]"TAB(9)B$:PRINT"         * 3-D TIC TAC TOE *":PRINTTAB(9)B$
  5. 130 IFF=1THEN00180
  6. 140 PRINT"DO YOU WANT INSTRUCTIONS?(Y/N)"
  7. 150 GETY$:IFY$=""THEN00150
  8. 160 IFY$="Y"THEN01420
  9. 170 PRINT"[145]"A$"[145][145]";
  10. 180 RESTORE:F=0
  11. 190 DIMA(75),B(75)
  12. 200 DIMG(63),V(63)
  13. 210 DIMN0(3),N1(3)
  14. 220 FORI=0TO75:READA(I):NEXTI
  15. 230 FORI=0TO75:READB(I):NEXTI
  16. 240 FORI=0TO3:READN0(I):NEXTI
  17. 250 FORI=0TO3:READN1(I):NEXTI
  18. 260 FORI=0TO63
  19. 270 G(I)=0
  20. 280 NEXTI
  21. 290 FORI=0TO63
  22. 300 V(I)=0
  23. 310 IFG(I)=0THEN00330
  24. 320 V(I)=-1
  25. 330 NEXTI
  26. 340 GOSUB00980
  27. 350 PRINT"LEVEL:?";
  28. 360 GETY$:IFY$=""THEN00360
  29. 370 IFASC(Y$)>52ORASC(Y$)<48THEN00360
  30. 380 L=VAL(Y$):PRINTL
  31. 390 PRINT"COLUMN:?";
  32. 400 GETY$:IFY$=""THEN00400
  33. 410 IFASC(Y$)>52ORASC(Y$)<48THEN00400
  34. 420 C=VAL(Y$):PRINTC
  35. 430 PRINT"ROW:?";
  36. 440 GETY$:IFY$=""THEN00440
  37. 450 IFY$="R"THENPRINT"[145][145][145]":PRINTA$:PRINTA$:PRINTA$"[145][145][145]":GOTO00350
  38. 460 IFASC(Y$)>52ORASC(Y$)<48THEN00440
  39. 470 R=VAL(Y$):PRINTR
  40. 480 P=16*R+4*L+C-21
  41. 490 IFP=-21THENRUN
  42. 500 IFV(P)=-1THENPRINT"[145][145][145]"A$:PRINTA$:PRINTA$"[145][145][145]":GOTO00350
  43. 510 G(P)=-1
  44. 520 V(P)=-1
  45. 530 GOSUB00980
  46. 540 N=-1
  47. 550 T=0
  48. 560 FORL=0TO75
  49. 570 S=A(L)
  50. 580 V1=B(L)
  51. 590 C=0
  52. 600 H=0
  53. 610 P=S-V1
  54. 620 FORI=0TO3
  55. 630 P=P+V1
  56. 640 IFG(P)<>1THEN00670
  57. 650 C=C+1
  58. 660 GOTO00690
  59. 670 IFG(P)<>-1THEN00690
  60. 680 H=H+1
  61. 690 NEXTI
  62. 700 IFH*C<>0THEN00810
  63. 710 T=T+1
  64. 720 IFH=4THEN01290
  65. 730 P=S-V1
  66. 740 FORI=0TO3
  67. 750 P=P+V1
  68. 760 IFV(P)=-1THEN00800
  69. 770 IFC<>3THEN00790
  70. 780 N=P
  71. 790 V(P)=V(P)+N0(H)+N1(C)
  72. 800 NEXTI
  73. 810 NEXTL
  74. 820 IFN<>-1THEN01310
  75. 830 IFT=0THEN01360
  76. 840 PRINTA$:PRINTA$:PRINTA$:PRINTA$
  77. 850 PRINTT" REMAINING LINES":PRINT
  78. 860 M=-1
  79. 870 FORI=0TO63
  80. 880 IFM>=V(I)THEN00910
  81. 890 M=V(I)+INT(RND(TI)*5)
  82. 900 P=I
  83. 910 NEXTI
  84. 920 PRINT"MY MOVE RATED AT:";M;
  85. 930 G(P)=1
  86. 940 PRINTTAB(24)"[145][145][145][145][145][145]LEVEL";INT(P/4)-4*INT(P/16)+1
  87. 950 PRINTTAB(24)"COLUMN";P-4*INT(P/4)+1
  88. 960 PRINTTAB(24)"ROW";INT(P/16)+1
  89. 970 GOTO00290
  90. 980 PRINT"":PRINT:PRINT:PRINT:PRINT
  91. 990 PRINT"LEVEL 1   LEVEL 2   LEVEL 3   LEVEL 4"
  92. 1000 PRINT
  93. 1010 FORR=1TO4
  94. 1020 FORL=1TO4
  95. 1030 FORC=1TO4
  96. 1040 P=16*R+4*L+C-21
  97. 1050 IFG(P)<>-1THEN01070
  98. 1060 PRINT"O";
  99. 1070 IFG(P)<>1THEN01090
  100. 1080 PRINT"X";
  101. 1090 IFG(P)<>0THEN01110
  102. 1100 PRINT" ";
  103. 1110 IFC<4THENPRINT"[221]";
  104. 1120 NEXTC
  105. 1130 PRINT"   ";
  106. 1140 NEXTL
  107. 1150 IFR<4THENPRINT"[192][219][192][219][192][219][192]   [192][219][192][219][192][219][192]   [192][219][192][219][192][219][192]   [192][219][192][219][192][219][192]"
  108. 1160 NEXTR
  109. 1170 PRINT
  110. 1180 RETURN
  111. 1190 DATA0,0,0,1,2,3,3,4,8,12,0,0,1,2,3,3,0,0,1,2,3,3,4,4,5,6,7,7,8,8
  112. 1200 DATA9,10,11,11,12,12,13,14,15,15,12,12,13,14,15,15,16,16,16,17,18
  113. 1210 DATA19,19,20,24,28,32,32,32,33,34,35,35,36,40,44,48,48,48,49,50
  114. 1220 DATA51,51,52,56,60
  115. 1230 DATA1,4,5,4,4,3,4,1,1,1,16,17,16,16,15,16,20,21,20,20,19,20,16,17
  116. 1240 DATA16,16,15,16,16,17,16,16,15,16,12,13,12,12,11,12,16,17,16,16
  117. 1250 DATA15,16,1,4,5,4,4,3,4,1,1,1,1,4,5,4,4,3,4,1,1,1,1,4,5,4,4,3,4
  118. 1260 DATA1,1,1
  119. 1270 DATA0,3,15,35
  120. 1280 DATA1,4,9,40
  121. 1290 PRINTA$:PRINTA$:PRINTA$:PRINT"YOU WIN"
  122. 1300 GOTO01370
  123. 1310 PRINTA$:PRINTA$:PRINTA$:PRINT"I WIN"
  124. 1320 G(N)=1
  125. 1330 GOSUB00980
  126. 1340 PRINT
  127. 1350 GOTO01370
  128. 1360 PRINTA$:PRINTA$:PRINTA$:PRINT"GAME DRAWN"
  129. 1370 PRINT"DO YOU WANT ANOTHER GAME?(Y/N)"
  130. 1380 GETY$:IFY$=""THEN01380
  131. 1390 IFY$="Y"THENPRINT"[145][145]"A$:PRINTA$:PRINTA$:PRINTA$:PRINTA$:PRINTA$:GOTO00260
  132. 1400 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT:PRINTTAB(10)"GOODBYE"
  133. 1410 END
  134. 1420 F=1:PRINT"[145]THE GAME IS PLAYED ON A CUBE 4 [214] 4 [214] 4"
  135. 1430 PRINT"THE OBJECT IS TO TO GET A ROW OF 4'O'S"
  136. 1440 PRINT"IN ANY DIRECTION (INCLUDING) DIAGONALS"
  137. 1450 PRINT"YOU MUST ALSO STOP THE MACHINE GETTING"
  138. 1460 PRINT"A ROW OF 'X'S.  YOU GO FIRST AND WILL BE"
  139. 1470 PRINT"[145]ASKED FOR THE LEVEL,COLUMN AND ROW IN"
  140. 1480 PRINT"WHICH YOU WANT TO PLAY.  THE LEVELS ARE"
  141. 1490 PRINT"MARKED ON THE BOARD(1-4),THE COLUMNS ARE"
  142. 1500 PRINT"[145]NUMBERED ACROSS THE BOARD(1-4) AND THE"
  143. 1510 PRINT"ROWS ARE NUMBERED DOWN THE BOARD(1-4)"
  144. 1520 PRINT"IF YOU ENTER 0 TO ALL QUESTIONS THE"
  145. 1530 PRINT"BOARD IS RESET.  IF YOU MAKE A MISTAKE"
  146. 1540 PRINT"ENTER 'R' IN ANSWER TO ROW? AND YOU"
  147. 1550 PRINT"CAN REENTER YOUR PLAY."
  148. 1560 PRINT:PRINT"PRESS ANY KEY"
  149. 1570 GETY$:IFY$=""THEN01570
  150. 1580 GOTO00120
  151.